package scoutobahn.xml.automaton;

import scoutobahn.xml.OsmItemProvider;
import scoutobahn.xml.OsmNode;
import scoutobahn.xml.OsmRelation;
import scoutobahn.xml.OsmWay;
/**
 * Interface for classes able to manage a stream of OsmItems.
 * @author mark
 *
 */
public interface OsmItemStreamManager {
    /**
     * Called when a new OsmNode was found.
     * @param node The new Node
     */
    void nodeFound(OsmNode node);
    /**
     * When a new relation is found.
     * @param relation The new Relation
     */
    void relationFound(OsmRelation relation);
    /**
     * When a new OsmWay is found.
     * @param way The new way
     */
    void wayFound(OsmWay way);
    /**
     * Returns the OsmItemProvider.
     * @return An OsmItemProvider
     */
    OsmItemProvider getProvider();
}
